草庐IT

C++::Boost::Regex 迭代子匹配

全部标签

regex - 是否可以从 golang 中的字符串(复杂字符串)中检索子字符串

我在使用正则表达式的时候遇到了一个问题,有两个问题需要解决,从简单到复杂。首先是使用正则表达式匹配字符串,然后它应该从消息中检索一些子字符串。就像我有一个字符串,它是“当前聊天室:今天吃什么?(本帖由Sharon编辑,Leon于2018-11-1021:00:00发送)”"在当前聊天室:Heymate,你喜欢golang吗?(此消息由Leon编辑,消息来自Mike于2018-01-1010:00:59发送)"在上面的消息中,有些部分不会改变例如“在当前聊天室:”和“此消息由...编辑,消息在...从...发送”当我遇到这种消息时,这被认为是“编辑通知”我需要过滤所有使用该结构编译的消息

regex - 在 Go 正则表达式中拆分浮点字符串

我正在尝试使用Golang的正则表达式将特定字符串类型拆分为其成分。我拥有的是任何给定float的Sprinf(".2f",n)(将其简化为小数点后2位),并希望像这样分隔百分之一数字:"1.25"=["1.2","5"]"1.99"=["1.9","9"]在PHP中,这类似于:preg_match('/^(\-?\d[.]\d)(\d)$/x',sprintf('%1.2f',$input),$matches)我可以通过$matches[0]和$matches[1]获得零件。尝试过:re:=regexp.MustCompile(`/^(\-?\d[.]\d)(\d)$/x`)fmt.

regex - 如何使用 RE2 正则表达式匹配两个字符串之间的子字符串?

这个问题在这里已经有了答案:Myregexismatchingtoomuch.HowdoImakeitstop?[duplicate](5个答案)Regextofirstoccurrenceonly?[duplicate](4个答案)关闭3年前。我需要从以下字符串中提取“DesignBrands>”和第一个管道(|)字符之间的子字符串:"T-shirts|Brands>Port&Company|DesignBrands>MontanaGriz|Designs>TeamLBGriz>MTG31|T-shirts>TeamLB|T-shirts>MontanaGriz"这是在google表

regex - 使用 Ragel 在 Golang 中求两个正则表达式的交集

函数模板如下:funcGetIntersection(firstRegexstring,secondRegexstring)string{...}我正在尝试使用Ragel获取两个正则表达式的交集。不过,不确定Ragel是否是正确的工具。我的最后一招是实现从正则表达式到DFA和DFA到正则表达式的转换,以及我自己实现两个DFA的交集,但我宁愿避免这种情况。非常感谢任何可靠的库来解决问题。 最佳答案 Ragel有一个交集运算符(&)。您可以生成任意两个正则表达式的交集,只要它们用ragel语法表示即可。没有免费提供的自动ragel-to

regex - 如何替换任何语言的所有非字母数字?

在golang中使用正则表达式,我想用-替换任何语言的所有非字母数字字符,以制作漂亮的url:Here是我尝试过的众多正则表达式之一:主要包import("fmt""regexp")constsample=`سلامدنیاhelloworld1%^&`funcmain(){varre=regexp.MustCompile(`~[\p{L}0-9\s]+`)s:=re.ReplaceAllString(sample,`-`)fmt.Println(s)}输出应该是:سلام-دنیا-hello-world-1但它不起作用。我该如何解决? 最佳答案

regex - 我如何在 Go 中使用/访问捕获组?

这个问题在这里已经有了答案:RegexwithreplaceinGolang(1个回答)关闭3年前。我有一个日期格式为dd.mm.yyyy的文件(例如31.12.2019)。我想转换成yyyy-mm-dd格式(例如2019-12-31)。在Notepad++中,我可以使用反向引用对这些字符串进行搜索和替换:搜索:(\d{2}).(\d{2}).(\d{4})替换:\3-\2-\1我如何使用Go来做到这一点?

python - python 中的 Json 编码 dict 和 golang 中的映射不匹配

我正在使用json生成一个HMAC,一个json编码的python字典的sha256散列。让我们称之为hash1。这是我用JWT发送的签名。然后我想在Go的另一个服务上验证这个签名。我正在使用我在map中的数据(与pythondict相同),json编码和散列它(hash2)但是,hash1和hash2是不同的。我了解到这是由于pythonjson在dict中的元素之间添加了空格。Golangjson库不添加任何空间。有什么办法可以解决这个问题吗?some_data={'a':1,'b':2}json_str1=json.dumps(some_data,sort_keys=True)s

mongodb - 如何在 Golang 中使用游标迭代时从 mongodb 记录中提取字段

我对golang编程和mongodb接口(interface)还很陌生。我有一个由另一个应用程序创建的记录数据库。我正在尝试遍历数据库并检查每条记录的特定字段。我可以将完整记录解码为bson,但我无法获取具体值。这个结构定义了我想要提取的3个字段:typemyDbaseRecstruct{aidstring`bson:"pon-util-aid"`ingressPctstring`bson:"ingress-bucket-percent"`egressPctstring`bson:"egress-bucket-percent"`}这是我的代码,用于在collection.Find(ct

regex - 转到正则表达式通配符以获取没有周围文本的标签

我正在尝试获取以下值“完成”,该值位于分块http流末尾返回的byteslice中。X-sync-status:done\r\n这是我到目前为止所做的go正则表达式syncStatusRegex=regexp.MustCompile("(?i)X-sync-status:(.*)\r\n")我只想让它返回这个位(.*)这是获取状态的代码syncStatus:=strings.TrimSpace(string(syncStatusRegex.Find(body)))fmt.Println(syncStatus)如何让它只返回“完成”而不是标题?谢谢 最佳答案

regex - Golang 正则表达式 - 我做错了什么?

作为个人项目,我正在尝试通过将Go(lang)应用于某些事物来学习它,我正在编写一个EMCAScript/JavaScript“编译器”;它(最初)所做的只是允许您包含其他.js文件。撇开功能不谈,我费尽心思想找出regexp包。这是似乎没有按照我的意愿行事的代码段://Note:"lines"isanarrayofstrings.varincludeRegex,_=regexp.Compile("^[\t]*include[(]{1}\"([^\"]+)\"[)]{1};")for_,line:=rangelines{varisInclude=includeRegex.Match([